home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / cross / Avr.lha / Atmel / INCCT_Programmer / Src / filereq.c next >
C/C++ Source or Header  |  1999-08-09  |  1KB  |  57 lines

  1. #include <exec/types.h>
  2. #include <exec/libraries.h>
  3. #include <libraries/asl.h>
  4. #include <clib/exec_protos.h>
  5. #include <clib/asl_protos.h>
  6. #include <clib/dos_protos.h>
  7. #include <stdio.h>
  8. #include <string.h>
  9.  
  10. #define MYLEFTEDGE 0
  11. #define MYTOPEDGE  0
  12. #define MYWIDTH    320
  13. #define MYHEIGHT   400
  14. #define MAXFILESIZE 256
  15.  
  16. int FileRequest(void);
  17.  
  18. struct Library *AslBase = NULL;
  19.  
  20. char FileName[MAXFILESIZE];     /*Global buffer where filename will go.*/
  21.  
  22. struct TagItem frtags[] =
  23. {
  24.     ASL_Hail,       (ULONG)"Select file.",
  25.     ASL_Height,     MYHEIGHT,
  26.     ASL_Width,      MYWIDTH,
  27.     ASL_LeftEdge,   MYLEFTEDGE,
  28.     ASL_TopEdge,    MYTOPEDGE,
  29.     ASL_OKText,     (ULONG)"OK",
  30.     ASL_CancelText, (ULONG)"Cancel",
  31.     ASL_File,       (ULONG)"",
  32.     ASL_Dir,        (ULONG)"",
  33.     TAG_DONE
  34. };
  35.  
  36. int FileRequest(void)
  37. {
  38.     struct FileRequester *fr;
  39.     int Ret=0;
  40.  
  41.     if (AslBase = OpenLibrary("asl.library", 37L))
  42.     {
  43.         if (fr = (struct FileRequester *)
  44.             AllocAslRequest(ASL_FileRequest, frtags))
  45.         {
  46.             if (AslRequest(fr, NULL))
  47.             {
  48.                 strncpy(FileName,fr->rf_Dir,MAXFILESIZE);
  49.                 Ret=AddPart(FileName,fr->rf_File,MAXFILESIZE);
  50.             }
  51.             FreeAslRequest(fr);
  52.         }
  53.         CloseLibrary(AslBase);
  54.     }
  55.     return Ret;
  56. }
  57.